import { defineConfig, UserConfigExport, ConfigEnv ,loadEnv} from 'vite';
//mock 插件提供方法
import { viteMockServe } from 'vite-plugin-mock';
import vue from '@vitejs/plugin-vue';
import path from 'path';
export default defineConfig(({ command,mode }) => {
	 //获取各个环境下的对应的变量
	 let env = loadEnv(mode, process.cwd());
  return {
    plugins: [
      vue(),
      viteMockServe({
        localEnabled: command === 'serve', //保证开发阶段可以使用mock接口
      }),
    ],
    resolve: {
      alias: {
        '@': path.resolve('./src'), // 相对路径别名配置，使用 @ 代替 src
      },
    },
    //scss全局变量一个配置
    css: {
      preprocessorOptions: {
        scss: {
          javascriptEnabled: true,
          additionalData: '@import "./src/styles/variable.scss";',
        },
      },
    },

		//代理跨域
    // server: {
    //   proxy: {
    //     [env.VITE_APP_BASE_API]: {
    //       //获取数据的服务器地址设置
    //       target: env.VITE_SERVE,
    //       //需要代理跨域
    //       changeOrigin: true,
    //       //路径重写(把api替换成空的字符串)
    //       rewrite: (path) => path.replace(/^\/api/, ''),
    //       // bypass(req, res, options) {
    //       //   const proxyUrl =
    //       //     new URL(options.rewrite(req.url) || '', options.target as string)
    //       //       ?.href || '';
    //       //   req.headers['x-req-proxyUrl'] = proxyUrl;
    //       //   res.setHeader('x-res-proxyUrl', proxyUrl);
    //       // },
    //     },
    //   },
    // },
  };
});
